<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Dashed-Category</title>
</head>

<body>
  <div class="container">
    <ul>
      <li>
        <div class="li_title">01</div>
      </li>
      <li>
        <div class="li_title">02</div>
      </li>
      <li>
        <div class="li_title">03</div>
      </li>
      <li>
        <div class="li_title">04</div>
      </li>
      <li>
        <div class="li_title">05</div>
      </li>
      <li>
        <div class="li_title">06</div>
      </li>
      <li>
        <div class="li_title">07</div>
      </li>
      <li>
        <div class="li_title">08</div>
      </li>
      <li>
        <div class="li_title">09</div>
      </li>
      <li>
        <div class="li_title">10</div>
      </li>
    </ul>
  </div>


  <style>
    :root {
      display: flex;
      justify-content: center;
      font-size: var(--font-size);
      background-color: #f4f5f5;

      --base-color: #555666;
      --bg-color: #fff;
      --line-size: 1px;
      --padding-size: 16px;
      --font-size: 16px;
    }

    ul,
    li {
      list-style: none;
      list-style-type: none;
      padding: 0;
      margin: 0;
    }

    ul {
      display: inline-block;
      position: relative;
      border-left: var(--line-size) dashed var(--base-color);
    }

    ul::before,
    ul::after {
      content: "";
      position: absolute;
      display: inline-block;
      height: calc(var(--font-size) / 2);
      left: calc(-1 * var(--line-size));
      border-left: var(--line-size) solid var(--bg-color);
    }

    ul::before {
      top: 0;
    }

    ul::after {
      bottom: 0;
    }

    .container {
      width: 480px;
      padding: 8px;
      background-color: var(--bg-color);
    }

    li {
      display: flex;
      align-items: center;
    }

    li .li_title {
      padding: 0 var(--padding-size);
    }

    li::before {
      content: "";
      position: absolute;
      display: inline-block;
      width: var(--padding-size);
      height: var(--line-size);
      border-bottom: var(--line-size) dashed var(--base-color);
    }

  </style>
</body>

</html>
